package com.guilin.mapper;

import com.guilin.domain.ForumReply;
import com.guilin.vo.ForumReplyVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 论坛主题回复Mapper接口
 * 
 * @author xiaoqi
 * @date 2025-06-20
 */
public interface ForumReplyMapper 
{
    /**
     * 查询论坛主题回复
     * 
     * @param id 论坛主题回复主键
     * @return 论坛主题回复
     */
    public ForumReply selectForumReplyById(Long id);

    /**
     * 查询论坛主题回复列表
     * 
     * @param forumReply 论坛主题回复
     * @return 论坛主题回复集合
     */
    public List<ForumReplyVO> selectForumReplyList(ForumReply forumReply);

    /**
     * 新增论坛主题回复
     * 
     * @param forumReply 论坛主题回复
     * @return 结果
     */
    public int insertForumReply(ForumReply forumReply);

    /**
     * 修改论坛主题回复
     * 
     * @param forumReply 论坛主题回复
     * @return 结果
     */
    public int updateForumReply(ForumReply forumReply);

    /**
     * 删除论坛主题回复
     * 
     * @param id 论坛主题回复主键
     * @return 结果
     */
    public int deleteForumReplyById(Long id);

    /**
     * 批量删除论坛主题回复
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteForumReplyByIds(Long[] ids);


    /**
     * 查询指定主题的回复列表（分层）
     *
     * @param threadId 主题ID
     * @return 回复列表
     */
    List<ForumReplyVO> selectHierarchicalReplyList(@Param("threadId") Long threadId);
}
